package lc66;

/**
 * @Author Stringzhua
 * @Date 2024/3/26 16:38
 * description:
 */
public class Test03 {
    public int[] plusOne(int[] digits) {
        for (int i = digits.length - 1; i >= 0; i--) {
            //判断nums是否大于9
            if (digits[i] < 9) {
                //如果小于9,则直接++
                digits[i]++;
                break;
            } else {
                //如果等于9,则归0
                digits[i] = 0;
                //i=0,则拷贝数组,在最前面加一位
                if (i == 0) {
                    //这里怎么写？
                    int[] newDigits = new int[digits.length + 1];
                    newDigits[0] = 1;
                    System.arraycopy(digits, 0, newDigits, 1, digits.length);
                    return newDigits;
                }
            }
        }
        return digits;
    }

    public static void main(String[] args) {
        int[] digits = {4, 3, 2, 1};
        Test03 test01 = new Test03();
        test01.plusOne(digits);
        for (int i = 0; i < digits.length; i++) {
            System.out.print(i + " ");
        }
    }
}
